package com.example.mobile2021606159yhf0518;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.TextView;

import org.json.JSONException;
import org.json.JSONObject;

import okhttp3.Call;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class MainActivity extends AppCompatActivity {
    private TextView tvMainTitle;
    private TextView tvMainContent;
    //添加域名
    String url="http://192.168.29.230:3000/profile";
    //定义OKhttp客户端网络访问对象
    OkHttpClient okHttpClient = new OkHttpClient();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        //定义访问路径字符串和使用子线程
        new Thread(new Runnable() {
            @Override
            public void run() {
                //在子线程的run（）方法中，定义网络请求
                Request request=new Request.Builder()
                        .url(url)
                        .build();
                //根据网络请求request，由OKHttpClient客户端创建请求执行对象call。
                Call call = okHttpClient.newCall(request);
                //调用同步访问方法excute（），从反馈对象reaponse中获得访问结果、
                try {
                    Response response=call.execute();
                    String result=response.body().string();
                    //调用runOnUiThread（）方法，将获取内容给控件
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            //对象结构JSONObject解析
                            try {
                                //创建JSONObject对象
                                JSONObject jsonObject=new JSONObject(result);
                                //调用optXXX（）方法获取JSON数据中的各类型数据
                                String name = jsonObject.optString("name");
                                tvMainContent.setText(name);
                            }catch (JSONException e){
                                e.printStackTrace();
                            }
                          //  tvMainContent.setText(result);
                        }
                    });
                }catch (Exception e){
                    e.printStackTrace();
                }

            }
        }).start();
    }
    private void initView(){
        tvMainTitle = (TextView) findViewById(R.id.tvMainTitle);
        tvMainContent = (TextView) findViewById(R.id.tvMainContent);
    }
}